func sortColors(nums []int)  {
    var bsort func(nums []int, l, r int)
    bsort = func(nums []int, l, r int) {
        if l >= r {
            return
        }
		x := l
		y := r
		for x < y {
			for x < y && nums[x] <= nums[r] {
				x++	
			}
			nums[x], nums[y] = nums[y], nums[x]
			for x < y && nums[y] >= nums[r] {
				y--
			}
			nums[x], nums[y] = nums[y], nums[x]
		} 
		nums[x] = nums[r]
		bsort(nums, l, x - 1)
		bsort(nums, x + 1, r)
    }
    bsort(nums, 0, len(nums) - 1)
}